Release 10.1A: OpenEdge Development:
Progress Dynamics Advanced Development


Object IDs in the Repository

There are numerous references to object IDs in the table and field descriptions. The Repository schema observes the standard Progress Dynamics convention whereby every table in every database has a unique key called an object ID, a decimal value generated by a single trigger procedure to be an absolutely unique value throughout the database, and in principle, throughout the world. These fields always have a name consisting of the table name, minus the three-letter table prefix and underscore, plus the suffix _obj.

Although many of the tables in the Repository schema have other unique keys, and in some cases other values that can be used to join them to other tables, relationships between tables are almost always defined in terms of object IDs, where the object ID for a record in one table is a foreign key, or part of a foreign key, in another table. These object ID values are never meant to be displayed and would not be meaningful to any user. Because they are completely arbitrary values, they never are subject to change and therefore do not require rules about cascading of changes to other related tables. This principle is fundamental to the structure of the Repository, as it is to every database schema defined in observance of the Progress Dynamics design principles.

You can find other basic information about the Repository and its naming conventions in the chapter on Database Design Principles in OpenEdge Development: Progress Dynamics Basic Development . Throughout this chapter, we generally describe all the fields in each table except for the key fields. To aid readability, this chapter sometimes refers to Repository tables (after the first definition of them) without the table prefix.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095